/*
 * Sprite.h
 * Models a sprite. Sprites have a location (x, y), an image, and 
 * an outline. Eventually, the physics engine will work on this 
 * class, so that all sprites have consistent - if crazy - physics.  
 */

#ifndef __SPRITE_H
#define __SPRITE_H

#include <string>
#include "common.h" 

class Sprite {
	public:
		Sprite(std::string imagePath);
		Sprite(CL_Color& color, int x, int y, int width, int height);
		~Sprite();

		// Sprite draws itself onto the screen at its 
		// current x, y location.
		void paint();

	private:
		// The image we use to represent the hero.
		CL_Surface 	*image;

		// Alternately, we are a Block of a Single Color.
		CL_Color	*colour;

		// Sprite's current location ..
		int		x, y;
		
		// .. and dimensions.
		int		w, h;
};

#endif
